Data storage devices enable users to store and retrieve data. Examples of data storage devices include volatile memory devices and non-volatile memory devices. A non-volatile memory may retain data after a power-down event, and a volatile memory may lose data after a power-down event.
In some cases, data read from a data storage device may be subject to one or more errors. For example, electrical noise may cause a logic “0” value to be read as a logic “1” value (or vice versa).
To enable correction of data errors, a data storage device may encode data using an encoding scheme, such as by adding redundancy information to the data prior to storing the data to a memory of the data storage device. The encoding scheme may specify a codebook that associates data with codewords of the encoding scheme. Upon reading the data, the data storage device may decode the data by using the redundancy information to locate and correct one or more data errors (up to a particular error correction capability of the encoding scheme).
In some circumstances, decoding of data may create latency in read operations. For example, a decoder may use an iterative decoding process to locate data errors, and a large number of errors may create a “bottleneck” condition that slows processing of other data, resulting in latency.